/**
 * <copyright>
 * </copyright>
 *

 */
package hu.bme.mit.androtext.age.age;

import hu.bme.mit.androtext.data.androData.AndroDataRoot;

import hu.bme.mit.androtext.nav.androNav.AndroNavRoot;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Android Application</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link hu.bme.mit.androtext.age.age.AndroidApplication#getApplicationName <em>Application Name</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.age.age.AndroidApplication#getProjectName <em>Project Name</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.age.age.AndroidApplication#getPackageName <em>Package Name</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.age.age.AndroidApplication#getData <em>Data</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.age.age.AndroidApplication#getUi <em>Ui</em>}</li>
 * </ul>
 * </p>
 *
 * @see hu.bme.mit.androtext.age.age.AgePackage#getAndroidApplication()
 * @model
 * @generated
 */
public interface AndroidApplication extends EObject
{
  /**
   * Returns the value of the '<em><b>Application Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Application Name</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Application Name</em>' attribute.
   * @see #setApplicationName(String)
   * @see hu.bme.mit.androtext.age.age.AgePackage#getAndroidApplication_ApplicationName()
   * @model
   * @generated
   */
  String getApplicationName();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.age.age.AndroidApplication#getApplicationName <em>Application Name</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Application Name</em>' attribute.
   * @see #getApplicationName()
   * @generated
   */
  void setApplicationName(String value);

  /**
   * Returns the value of the '<em><b>Project Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Project Name</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Project Name</em>' attribute.
   * @see #setProjectName(String)
   * @see hu.bme.mit.androtext.age.age.AgePackage#getAndroidApplication_ProjectName()
   * @model
   * @generated
   */
  String getProjectName();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.age.age.AndroidApplication#getProjectName <em>Project Name</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Project Name</em>' attribute.
   * @see #getProjectName()
   * @generated
   */
  void setProjectName(String value);

  /**
   * Returns the value of the '<em><b>Package Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Package Name</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Package Name</em>' attribute.
   * @see #setPackageName(String)
   * @see hu.bme.mit.androtext.age.age.AgePackage#getAndroidApplication_PackageName()
   * @model
   * @generated
   */
  String getPackageName();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.age.age.AndroidApplication#getPackageName <em>Package Name</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Package Name</em>' attribute.
   * @see #getPackageName()
   * @generated
   */
  void setPackageName(String value);

  /**
   * Returns the value of the '<em><b>Data</b></em>' reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Data</em>' reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Data</em>' reference.
   * @see #setData(AndroDataRoot)
   * @see hu.bme.mit.androtext.age.age.AgePackage#getAndroidApplication_Data()
   * @model
   * @generated
   */
  AndroDataRoot getData();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.age.age.AndroidApplication#getData <em>Data</em>}' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Data</em>' reference.
   * @see #getData()
   * @generated
   */
  void setData(AndroDataRoot value);

  /**
   * Returns the value of the '<em><b>Ui</b></em>' reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Ui</em>' reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Ui</em>' reference.
   * @see #setUi(AndroNavRoot)
   * @see hu.bme.mit.androtext.age.age.AgePackage#getAndroidApplication_Ui()
   * @model
   * @generated
   */
  AndroNavRoot getUi();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.age.age.AndroidApplication#getUi <em>Ui</em>}' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Ui</em>' reference.
   * @see #getUi()
   * @generated
   */
  void setUi(AndroNavRoot value);

} // AndroidApplication
